package me.zhengjie.minbearwcs.dao.agv.inf;

import me.zhengjie.minbearwcs.entity.PO.agv.AgvMission;
import me.zhengjie.minbearwcs.entity.PO.agv.missionEnum.AgvMissionStatus;
import me.zhengjie.minbearwcs.entity.PO.wcs.mission.type.MissionType;

import java.time.LocalDateTime;

public interface AgvMissionDao {
    boolean insert(AgvMission agvMission);

    AgvMission selectByTaskId(String taskId);

    boolean updateAgvMissionBegin(String taskId, AgvMissionStatus status,
                             int completeNum, String agvId, LocalDateTime startTime);

    MissionType selectWcsMissionTypeByTaskId(String taskId);

    boolean updateAgvMissionFinish(String taskId, AgvMissionStatus status,
                                  int completeNum, LocalDateTime finishTime);

    boolean deleteById(int id);

    AgvMission selectByPallet(String palletCode);

    boolean judgePalletHasAgvMission(String pallet);

    AgvMission selectByWcsMissionId(String wcsMissionId);
}
